/**
 * UserChatConversationPageQuery, 查询条件
 */
export interface UserChatConversationPageQuery extends PageQuery {
    title?: string;
}

/**
 * UserChatConversationVO, 展示集合
 */
export interface UserChatConversationVO {
    id?: string;
    title?: string;
    icon?: string;
    lastActiveTime?: string;
}

/**
 * UserChatConversationDetailVO, 会话详情
 */
export interface UserChatConversationDetailVO {
    maskInfo: {
        id?: number;
        name?: string;
        icon?: string;
    };
    configInfo: {
        id?: number;
        model?: string;
        temperature?: number;
    };
    conversationInfo: {
        id?: string;
        title?: string;
    };
    toolIds: number[];
}

/**
 * UserChatConfigForm, 会话配置表单
 */
export interface UserChatConfigForm {
    id?: number;
    model?: string;
    temperature?: number;
}

/**
 * UserChatMessagePageQuery, 查询条件
 */
export interface UserChatMessagePageQuery extends PageQuery {
    conversationId: string;
}

/**
 * UserChatMessageVO, 展示集合
 */
export interface UserChatMessageVO {
    id?: string;
    conversationId?: string;
    role?: string;
    content?: string;
    metadata?: string;
    sendTime?: string;
}

/**
 * UserChatMaskVO, 展示集合
 */
export interface UserChatMaskVO {
    id?: number;
    name?: string;
    icon?: string;
    prompt?: string;
    description?: string;
    createTime?: string;
}

/**
 * UserChatToolPageQuery, 查询条件
 */
export interface UserChatToolPageQuery extends PageQuery {
    componentType?: string;
    name?: string;
    provider?: string;
}

/**
 * UserChatToolVO, 展示集合
 */
export interface UserChatToolVO {
    id?: number;
    componentType?: string;
    name?: string;
    description?: string;
    provider?: string;
    providerIcon?: string;
    metadata?: string;
}

/**
 * ConversationBindMaskForm, 绑定面具表单
 */
export interface ConversationBindMaskForm {
    conversationId: string;
    maskId: number | undefined;
}

/**
 * ConversationBindToolsForm, 绑定工具表单
 */
export interface ConversationBindToolsForm {
    conversationId: string;
    toolIds: number[];
}

/**
 * UserChatToolProviderVO ,聊天-ai工具提供者VO
 */
export interface UserChatToolProviderVO {
    provider?: string;
    providerIcon?: string;
    toolCount?: number;
    toolIds?: number[];
}
